//
//  BROrderListModel.h
//  BrezzeSaaS
//
//  Created by IOS on 2021/11/11.
//  Copyright © 2021 Brezze GWG. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "BRCouponModel.h"

NS_ASSUME_NONNULL_BEGIN

@interface BROrderListModel : NSObject

///billDuration    计费时长    integer(int32)
@property (nonatomic,assign) NSInteger billDuration;
///billing    计费规则(对象)    BillingDTO    BillingDTO
@property (nonatomic,strong) BRRuleModel *billing;
///couponAmount    优惠券金额    number
@property (nonatomic,strong) NSDecimalNumber *couponAmount;
///discountAfterAmount    优惠后的金额    number
@property (nonatomic,strong) NSDecimalNumber *discountAfterAmount;
///couponInfo    优惠券信息    CouponDTO    CouponDTO
@property (nonatomic,strong) BRCouponModel *couponInfo;
///createTime    租借时间    string(date-time)
@property (nonatomic,strong) NSString *createTime;
///depositAmount    预付款金额    number
@property (nonatomic,strong) NSDecimalNumber *depositAmount;
///depositRefundAmount    预付款退款金额    number
@property (nonatomic,strong) NSDecimalNumber *depositRefundAmount;
///depositRefundAmount    预付扣款金额    number
@property (nonatomic,strong) NSDecimalNumber *depositDeductionAmount;
///endTime    归还时间    string(date-time)
@property (nonatomic,strong) NSString *endTime;
///exceedAmount    超出的金额    number
@property (nonatomic,strong) NSDecimalNumber *exceedAmount;
///lost    是否报失： 0-否 1-是    boolean
@property (nonatomic,assign) BOOL lost;
///memberAmount    会员优惠金额    number
@property (nonatomic,strong) NSDecimalNumber *memberAmount;
///money    状态为待支付的订单，需要支付的金额    number
@property (nonatomic,strong) NSDecimalNumber *money;
///orderAmount    订单金额    number
@property (nonatomic,strong) NSDecimalNumber *orderAmount;
///orderNo    订单号    string
@property (nonatomic,strong) NSString *orderNo;
///paymentMethod    支付方式: 0-钱包支付 1-卡支付 2-亲情圈 3-Apple 4-google 5-paypal 6-weChat 7-aliPay    integer(int32)
@property (nonatomic,assign) NSInteger paymentMethod;
///paymentState    支付状态：0-未支付 1-已支付 2-免费 3-部分退款 4-全部退款    integer(int32)
@property (nonatomic,assign) NSInteger paymentState;
///pbNo    充电宝编号    string
@property (nonatomic,strong) NSString *pbNo;
///penaltyAmount    罚金    number
@property (nonatomic,strong) NSDecimalNumber *penaltyAmount;
///plateCouponAmount    平台优惠金额    number
@property (nonatomic,strong) NSDecimalNumber *plateCouponAmount;
///chargeCardDuration    danw 秒
@property (nonatomic,strong) NSString *chargeCardDuration;
///processState    处理状态：1-充电宝在 2-充电宝丢失    integer(int32)
@property (nonatomic,assign) NSInteger processState;
///promoCodeAmount    优惠码金额    number
@property (nonatomic,strong) NSDecimalNumber *promoCodeAmount;
///realAmount    实际金额    number
@property (nonatomic,strong) NSDecimalNumber *realAmount;
///refundAmount    退款金额    number
@property (nonatomic,strong) NSDecimalNumber *refundAmount;
///rentBranchName    租借网点名称    string
@property (nonatomic,strong) NSString *rentBranchName;
///rentCabinetNo    租借机柜号    string
@property (nonatomic,strong) NSString *rentCabinetNo;
///reportState    处理状态 0-等待审核 1-审核完成    integer(int32)
@property (nonatomic,assign) NSInteger reportState;
///reportTime    订单问题上报时间    string(date-time)
@property (nonatomic,strong) NSString *reportTime;
///returnBranchName    归还网点名称    string
@property (nonatomic,strong) NSString *returnBranchName;
///returnCabinetNo    归还机柜号    string
@property (nonatomic,strong) NSString *returnCabinetNo;
///state    订单状态：0-初始化 1-租借中 2-待支付 3-已完成 4-已取消 5-调查中 6-已退款 7-已报失    integer(int32)
@property (nonatomic,assign) NSInteger state;
///usingStatus    使用状态：1-使用中 2-已归还 3-已购买(正常流程) 4-已购买(丢失) 5-已购买(超时) 6-其他状态    integer(int32)
@property (nonatomic,assign) NSInteger usingStatus;
///taxAmount    税金额    number
@property (nonatomic,strong) NSDecimalNumber *taxAmount;
@property (nonatomic,assign) CGFloat tax;
/// 1税后（含税） 0税前
@property (nonatomic,assign) BOOL includedTax;
///useDuration    使用时长    integer(int32)
@property (nonatomic,assign) NSInteger useDuration;

/// 新接口字段
///box1DeviceUuid    柜机SN    string
@property (nonatomic,strong) NSString *box1DeviceUuid;
///box1DeviceId    柜机ID    string
@property (nonatomic,strong) NSString *box1DeviceId;
///box2DeviceUuid    归还柜机SN    string
@property (nonatomic,strong) NSString *box2DeviceUuid;
///singleDeviceUuid    单机柜机SN    string
@property (nonatomic,strong) NSString *singleDeviceUuid;
///borrowTime    租借时间（时间戳）    integer(int64)
@property (nonatomic,assign) NSInteger borrowTime;
///box1SiteName    租借地点    string
@property (nonatomic,strong) NSString *box1SiteName;
///ruleMinuteFree    免费分钟数    integer(int32)
@property (nonatomic,assign) NSInteger ruleMinuteFree;
///ruleMinuteCycle    计费周期（分钟）    integer(int32)
@property (nonatomic,assign) NSInteger ruleMinuteCycle;
///ruleCycleFee    每周期费用    number
@property (nonatomic,strong) NSDecimalNumber *ruleCycleFee;
///ruleDayFee    每日封顶费用    number
@property (nonatomic,strong) NSDecimalNumber *ruleDayFee;
///ruleSecurityFee    押金费用    number
@property (nonatomic,strong) NSDecimalNumber *ruleSecurityFee;
///id    订单ID    integer(int64) - JSON字段名是"id"，属性名用orderId避免关键字冲突
@property (nonatomic,assign) NSInteger orderId;
///uuid    订单流水号/订单编号（用于显示）    string
@property (nonatomic,strong) NSString *uuid;

@end

NS_ASSUME_NONNULL_END
